package cn.fintecher.pangolin.entity.elastic;

import cn.fintecher.pangolin.common.annotation.ReportAnno;
import cn.fintecher.pangolin.common.utils.Constants;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;

import java.util.Date;

/**
 * @Author wangxiangdong
 * @Description
 * @Date 2019/12/10 14:49
 **/
@Data
@Document(indexName = Constants.DAILY_COLLECTION_STATISTICS_RECORD, type = Constants.DAILY_COLLECTION_STATISTICS_RECORD, shards = 1, replicas = 0)
@ApiModel(value = "每日催收统计", description = "每日催收统计")
public class DailyCollectionStatisticsRecord {

    @Id
    @ApiModelProperty(value = "主键ID")
    private String id ;

    @ApiModelProperty(value = "部门ID")
    private String departmentId;

    @ApiModelProperty(value = "部门Code")
    private String departmentCode;

    @ApiModelProperty(value = "部门名称")
    @ReportAnno(name = "部门名称", sort = 1, isMerge = true)
    private String departmentName;

    @ApiModelProperty(value = "催收员ID")
    private String collectorId;

    @ApiModelProperty(value = "催收员名称")
    @ReportAnno(name = "催收员名称", sort = 2, isMerge = true)
    private String collectorName;

    @ApiModelProperty(value = "日期")
    @ReportAnno(name = "日期", sort = 3)
    private Date statisticsDate;

    @ApiModelProperty(value = "在催数量")
    @ReportAnno(name = "在催数量", sort = 4)
    private long collectCount = 0;

    @ApiModelProperty(value = "催收中案件金额")
    @ReportAnno(name = "催收中案件金额", sort = 5,scale = 2)
    private double collectAmt = 0;

    @ApiModelProperty(value = "结清数量")
    @ReportAnno(name = "结清数量", sort = 6)
    private Integer settltCount = 0;

    @ApiModelProperty(value = "结清金额")
    @ReportAnno(name = "结清金额", sort = 7,scale = 2)
    private double settltAmt = 0;

    @ApiModelProperty(value = "流入数量")
    @ReportAnno(name = "流入数量", sort = 8)
    private long inflowCount = 0;

    @ApiModelProperty(value = "流入金额")
    @ReportAnno(name = "流入金额", sort = 9,scale = 2)
    private double inflowAmount = 0;

    @ApiModelProperty(value = "流出数量")
    @ReportAnno(name = "流出数量", sort = 10)
    private long outflowCount = 0;

    @ApiModelProperty(value = "流出金额")
    @ReportAnno(name = "流出金额", sort = 11,scale = 2)
    private double outflowAmount = 0;
}
